package com.hsmpay.mobile.ds;

import com.hsmpay.common.pojo.qian4.Qian4SendLog;
import com.hsmpay.mobile.pojo.terminal.Tchannel;
import com.hsmpay.mobile.pojo.terminal.TchannelM;
import com.hsmpay.qian4.pojo.BalanceResult;
import com.hsmpay.qian4.pojo.PurchaseResult;
import com.hsmpay.qian4.pojo.RevocationResult;

import java.io.Serializable;
import java.util.Map;

/**
 * Created by zhy on 15/9/12.
 */
public interface DS_UinpayPayService <Entity extends Serializable,Query extends Object> {
    /**
     * 获取E点支付socket 接口密钥
     * @param str
     * @return
     * @throws Exception
     */
    public Map<String,String> getMiYao(TchannelM tcm,String str,String transAmt,Double c_fdMoney)throws Exception;

    /**
     * 刷新E点支付socket 接口密钥
     * @param
     * @return
     * @throws Exception
     */
    public Map<String,String> reflushMiYao(TchannelM tcm,String transAmt,Double c_fdMoney)throws Exception;
    /**
     * 查询余额
     *
     * @param send
     * @return
     * @throws Exception
     */
    public BalanceResult balanceEnquiry(Qian4SendLog send) throws Exception;
    /**
     * 费率版收款
     * @param send
     * @param tc
     * @return
     */
    public PurchaseResult billPayment(Qian4SendLog send, Tchannel tc) throws Exception;

    /**
     * 初始化参数
     * @param send
     * @param tc
     * @return
     */
    public Qian4SendLog initSend(Qian4SendLog send, Tchannel tc) throws Exception;
    /**
     * 冲正
     *
     * @param send
     * @return
     * @throws Exception
     */
    public RevocationResult unBillPayment(Qian4SendLog send) throws Exception;
    /**
     * 查询posp银联订单号
     *
     * @return
     * @throws Exception
     */
    public Integer searchUinPayTransId() throws Exception;
}
